Welcome Guest, you are in: Login
CTS Futures

Page History: Collateral Report

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2012/12/18 18:24



Application Reports

The Collateral Report message (MsgTyp=BA) responds to the Collateral Inquiry message by listing detail information about accounts position, account updates, accoung permissions and financial balanes. Reports are generated as the result of the following events,

* Listing Account Details for a connected User
* Account Subscription Requests
* Account Updates
* Account Position Updates
* Account and Exchange notifications

Responding to the Request to List User Accounts

A Collateral Inquiry request for a list of accounts (MsgType=BB with Tag 263=0) returns Collateral Reports for each of the account the user has access to. The Account name is specified in the Accounts field (Tag 1). The corresponding AccountID is specified in the PartyID (Tag 448). Basic Balance information (e.g. Start Cash=Tag 921) is also provided. This report is differentiated by its Quantity Type equal to Account-List (Tag 854=1).

Responding to Account Subscription Request

A Collateral Inquiry request to subscribe to User Accounts (MsgType=BB with Tag 263=1) returns a combinations of Collateral Reports, Execution Reports and Security Definitions for orders, fills, positions, account details, account updates and account position updates. The Collateral Report message provides information on the following categories:

1. Account Details

Account Details carry information in account privileges, account permission and account configuration. This report is differentiated by its Quantity Type equal to Account-Details (Tag 854=2).

2. Account Updates

Account Updates carry information in the instantaneous state of account Balances as Start Cash, Margin Requirements, etc. This report is differentiated by its Quantity Type equal to Account-Update (Tag 854=3). Note that Account Updates can be generated asynchronously without a preceding Collateral Inquiry.

3. Account Position Updates

Account Position Updates carry information on the combination of all open positions, working orders and fills for a given security within an account. Among other fields, this type of Collateral Report provides balances on working orders with number of buys and sells (Tags 3002 and 3003), number of short and long positions (Tag 53) and Open Volume (Tag 3011). This report is differentiated by its Quantity Type equal to Account-Position-Update (Tag 854=4). Note that Account Position Updates can be generated asynchronously without a preceding Collateral Inquiry.


Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = BB
908CollInquiryIDNUnique identifier for the collateral inquiry that generated this report.
909CollReportIDYUnique identifier for this report.
910CollStatusNStatus of Entity carried by this report.
911TotNumReportsNTotal number of Collateral Reports associated with its Collateral Inquiry.
912LastReportRequestedNIndicator whether this report is that last in the series of TotNumReports (Tag 911).
1AccountNAccount for which this report pertains.
Start Repeating Group
453NoPartyIDsNNumber of PartyIDs fields requested. Repeating Group.
448PartyIDYPartyID as applicable to the Party Role (Tag 452):
452PartyRoleNIdentifies the Type of PartyID. The valid values are:
24 = Customer Account
3 = Order Id
End Repeating Group
Start Repeating Group
136NoMiscFeesNNumber of repeating groups of miscellaneous fees
137MiscFeeAmtYMiscellaneous fee value.
138MiscFeeCurrYCurrency of miscellaneous fee
139MiscFeeTypeYIndicates type of miscellaneous fee.
891MiscFeeBasisYDefines the unit for a miscellaneous fee. The valid values are:
0 = Absolute
1 = Per Unit
2 = Percentage
End Repeating Group
58TextNFree form Text.
899MarginExcessNAvailable Cash for additional margin.
900TotalNetValueNNet value of the account.
901CashOutstandingNOption Premium
921StartCashNAccount Balanace
53QuantityNTotal MP, Long MP and Short MP
854QuantityTypeNQuantity Type indicator of Collateral Report. The valid values are:
1 = Account List
2 = Account Details
3 = Account Update
4 = Account Position Update
5 = Account Notification
6 = Exchange Notification
7 = Market RFQ
48SecurityIDYSecurity identifier. This is the T4 Market ID.
55SymbolYSymbol. This is the T4 Contract ID.
207SecurityExchangeYExchange at which the security trades. This is the T4 Exchange ID.
167SecurityTypeYInstrument type. Futures="FUT", Options="OPT", Stock="STK", Synthetic="SYN", Binary Option="BIN"
201PutOrCallNFor Options. Indicates whether an Option is for a put or call. Valid values are:
0 = Put
1 = Call
202StrikePriceNFor Options. Indicates the Strike Price of the Option.
75TradeDateNDate on which the update took place.
3000BuysNNumber of lots Bought in the current trading day for this market.
3001SellsNNumber of lots Sold in the current trading day for this market.
3002WorkingBuysNThe total number of lots that are currently working to buy in this market.
3003WorkingSellsNThe total number of lots that are currently working to sell in this market.
3004OvernightUPLNOvernight Unrealized Profit and Loss
3005AverageOpenTicksNThe average Price (in ticks) of open positions in this market.
3006OvernightPositionNThe number of market lots opened as an overnight position for the current trading day.
3007CurrencyRateNCurrency Rate conversion factor to USD.
3008TotalBuyFillTicksNThe total price (in ticks) of all buy trades in this market.
3009TotalSellFillTicksNThe total price (in ticks) of all sell trades in this market.
3010TotalOpenTicksNThe total ticks*volume for the open position in this market.
3011TotalOpenVolumeNThe total volume for the open position in this market.
3100AccountIDNUnique Account Identifier
3101AccountNameNAccount Name
3102ActiveTimeStartNTime the account is allowed to start trading (if any)
3103ActiveTimeStopNTime the account stops trading (if any)
3104BlockExpiringNThe number of hours (before last trade time) that this account should be blocked for.
3105DayLossLimitNThe maximum cash amount that this account may lose in a trading day excluding overnight upl.
3106DeletedNWhether the account has been deleted or not. The valid values are:
Y = Yes. The Account has been deleted.
N = No. The Account has been not deleted (default).
3107DisplayNameNThe account display name (used to prefix the account name).
3108EditMarginNWhether child firm admins can edit margin details.
3109EMailNEmail address for sending fill notifications to, if any.
3110EnabledNWhether the account is enabled. Anyone with access and permission can enter orders into this account if enabled. The valid values are:
Y = Yes. The Account has been deleted.
N = No. The Account has been not deleted (default).
3111FirmNFirm Name
3112FirmIDNUnique identifier of Firm
3113LossLimitNThe maximum cash amount that this account may lose in a trading day.
3114LossLimitPCNThe maximum percentage of the account balance that this account may lose in a trading day.
3115MarginPCNThe margin percentage rate applied to day trading orders.
3116MaxAccountPositionNThe largest size position that can be held across the account in total.
3117MaxClipSizeNThe largest order quantity (per transaction) that can be entered by this account.
3118MaxContractMarginNThe maximum amount of contract margin allowed.
3119MaxPositionNThe largest size position that can be held in any market.
3120MinBalanceNThe minimum balance that this account is allowed to have.
3121ModeNAccount Mode. The valid values are:
0 = By Market. Track Positions per individual market.
1 = By Contract. Track positions by contract (by outrights only).
2 = By Account. Track positions by contract (by outrights only) and apply MaxPosition limits to the entire account and not to a market.
3122OrderRoutingNWhether this account supports order routing:
Y = Yes. The Account has been deleted.
N = No. The Account has been not deleted (default).
3123OvernightMarginPCNThe margin percentage rate applied to overnight positions.
3124ParentFirmIDNThe identifier of this firm's parent firm
3125PLRolloverNWhether the system will rollover P&L at the end of each trading day.
Y = Yes.
N = No.
3126PositionRolloverNWhether the system will rollover positions at the end of each trading day.
Y = Yes.
N = No.
3127PreTradeDisabledNWhether or not pre-trade risk management is disabled or not.
Y = Yes.
N = No.
3128RiskAlertsNWhether sending email risk alerts is enabled for this account.
Y = Yes.
N = No.
3129RiskDebugNRisk Debug indicator. The valid values are:
Y = Yes.
N = No.
3130RiskDebugOrdersNRisk Order Debug indicator. The valid values are:
Y = Yes.
N = No.
3131StrategyMaxClipSizeNThe largest size order that can be entered by this account into Strategy markets.
3132StrategyMaxPositionNThe largest size position that can be held in any Strategy market.
3133StrategyTotalPitTradesNThe number of pit trades held in all Strategy market.
3134TotalPitTradesNThe size of pit trades held in this market.
3135UsePLForMarginNWhether Profit/Loss can be used for meeting margin requirements.
Y = Yes.
N = No.
3136WarningThresholdLossLimitNThe warning threshold % of Loss Limit for this account
3137WarningThresholdMarginNThe warning threshold % of Margin for this account
3138WarningThresholdPLNThe warning threshold % of PL for this account
3139WideMarketNThe dollar value for a bid/offer spread that determines if the market is wide.
12CommissionNCommision to use in the account.
13CommTypeNCommision Type.
Standard TrailerY




Sample Messages

Account Details


[FIXCOLLATERALINQUIRY] 34=64|49=T4Example|56=T4|52=20121218-15:19:15.357|909=ci-12/18/2012 9:19:15 AM|263=2|725=0|453=1|
448=9A65B2FE-1D27-4230-A942-F60983CFB33B|452=24|938=1|896=0|

[MsgSeqNum] 34 = 64
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SendingTime] 52 = 20121218-15:19:15.357
[CollInquiryID] 909 = ci-12/18/2012 9:19:15 AM
[SubscriptionRequestType] 263 = 2 (DISABLE_PREVIOUS_SNAPSHOT_PLUS_UPDATE_REQUEST)
[ResponseTransportType] 725 = 0 (IN_BAND)
[NoPartyIDs] 453 = 1
[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
[PartyRole] 452 = 24 (CUSTOMER_ACCOUNT)
[NoCollInquiryQualifier] 938 = 1
[CollInquiryQualifier] 896 = 0 (CUSTOMER_ACCOUNTS)



[fixcollateralreport] 34=1463|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|908=cr-634914191578066280|909=ci-12/18/2012 8:54:31 AM
|910=3|911=1|912=Y|1=Account1|453=1|448=9A65B2FE-1D27-4230-A942-F60983CFB33B|136=1|137=-1|139=C|854=2
|3100=9A65B2FE-1D27-4230-A942-F60983CFB33B|3101=ernesto|3104=-1|3105=0|3106=N|3108=N|3110=Y|3111=test
|3112=2884B215-4A4B-4E9D-A40E-F8212D713E13|3113=0|3114=0|3115=100|3116=-1|3117=10|3118=-1|3119=-1|3120=0|3121=C
|3122=N|3123=100|3124=2884B215-4A4B-4E9D-A40E-F8212D713E13|3125=Y|3126=Y|3127=Y|3128=Y|3129=N|3130=N|3131=1000
|3132=-1|3133=100|3134=100|3135=Y|3136=-1|3137=-1|3138=10|3139=-1|12=2.5|

[MsgSeqNum] 34 = 1463
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121218-15:19:17.806
[CollRptID] 908 = cr-634914191578066280
[CollInquiryID] 909 = ci-12/18/2012 8:54:31 AM
[CollStatus] 910 = 3 (ASSIGNED)
[TotNumReports] 911 = 1
[LastRptRequested] 912 = Y (YES)
[Account] 1 = Account1
[NoPartyIDs] 453 = 1
[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
[NoMiscFees] 136 = 1
[MiscFeeAmt] 137 = -1
[MiscFeeType] 139 = C
[QtyType] 854 = 2 (ACCOUNT_DETAILS)
[AccountID] 3100 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
[AccountName] 3101 = ernesto
[BlockExpiring] 3104 = -1
[DayLossLimit] 3105 = 0
[Deleted] 3106 = N
[EditMargin] 3108 = N
[Enabled] 3110 = Y
[Firm] 3111 = test
[FirmID] 3112 = 2884B215-4A4B-4E9D-A40E-F8212D713E13
[LossLimit] 3113 = 0
[LossLimitPC] 3114 = 0
[MarginPC] 3115 = 100
[MaxAccountPosition] 3116 = -1
[MaxClipSize] 3117 = 10
[MaxContractMargin] 3118 = -1
[MaxPosition] 3119 = -1
[MinBalance] 3120 = 0
[Mode] 3121 = C
[OrderRouting] 3122 = N
[OvernightMarginPC] 3123 = 100
[ParentFirmID] 3124 = 2884B215-4A4B-4E9D-A40E-F8212D713E13
[PLRollover] 3125 = Y
[PositionRollover] 3126 = Y
[PreTradeDisabled] 3127 = Y
[RiskAlerts] 3128 = Y
[RiskDebug] 3129 = N
[RiskDebugOrders] 3130 = N
[StrategyMaxClipSize] 3131 = 1000
[StrategyMaxPosition] 3132 = -1
[StrategyTotalPitTrades] 3133 = 100
[TotalPitTrades] 3134 = 100
[UsePLForMargin] 3135 = Y
[WarningThresholdLossLimit] 3136 = -1
[WarningThresholdMargin] 3137 = -1
[WarningThresholdPL] 3138 = 10
[WideMarket] 3139 = -1
[Commission] 12 = 2.5



Account Update


[fixcollateralreport] 34=1464|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|908=cr-634914191578066280
|909=ci-12/18/2012 8:54:31 AM|910=Unrestricted|911=1|912=Y|1=Account1|453=1|448=9A65B2FE-1D27-4230-A942-F60983CFB33B
|136=1|137=5|899=50935|900=0|901=0|921=-3501094.9228|53=15 13 -2|854=3|

[MsgSeqNum] 34 = 1464
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121218-15:19:17.806
[CollRptID] 908 = cr-634914191578066280
[CollInquiryID] 909 = ci-12/18/2012 8:54:31 AM
[CollStatus] 910 = Unrestricted
[TotNumReports] 911 = 1
[LastRptRequested] 912 = Y (YES)
[Account] 1 = Account1
[NoPartyIDs] 453 = 1
[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
[NoMiscFees] 136 = 1
[MiscFeeAmt] 137 = 5
[MarginExcess] 899 = 50935
[TotalNetValue] 900 = 0
[CashOutstanding] 901 = 0
[StartCash] 921 = -3501094.9228
[Quantity] 53 = 15 13 -2
[QtyType] 854 = 3 (ACCOUNT_UPDATE)


Account Position Update


[fixcollateralreport] 34=1465|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|908=cr-634914191578066280
|909=ci-12/18/2012 8:54:31 AM|911=1|912=Y|1=Account1|453=1|448=9A65B2FE-1D27-4230-A942-F60983CFB33B|136=1|137=5|899=21875|900=0|901=0|53=5 5 0|854=4
|55=ES|48=CME_20121200_ESZ2|207=CME_Eq|200=201212|167=FUT|75=20121218|3000=4|3001=0|3002=1|3003=0|3004=287.5|3005=141575|3006=2
|3007=1|3008=566300|3009=0|3010=709150|3011=5|

[MsgSeqNum] 34 = 1465
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121218-15:19:17.806
[CollRptID] 908 = cr-634914191578066280
[CollInquiryID] 909 = ci-12/18/2012 8:54:31 AM
[TotNumReports] 911 = 1
[LastRptRequested] 912 = Y (YES)
[Account] 1 = Account1
[NoPartyIDs] 453 = 1
[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
[NoMiscFees] 136 = 1
[MiscFeeAmt] 137 = 5
[MarginExcess] 899 = 21875
[TotalNetValue] 900 = 0
[CashOutstanding] 901 = 0
[Shares] 53 = 5 5 0
[QtyType] 854 = 4 (ACCOUNT_POSITION_UPDATE)
[Symbol] 55 = ES
[SecurityID] 48 = CME_20121200_ESZ2
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201212
[SecurityType] 167 = FUT (FUTURE)
[TradeDate] 75 = 20121218
[Buys] 3000 = 4
[Sells] 3001 = 0
[WorkingBuys] 3002 = 1
[WorkingSells] 3003 = 0
[OvernightUPL] 3004 = 287.5
[AverageOpenTicks] 3005 = 141575
[OvernightPosition] 3006 = 2
[CurrencyRate] 3007 = 1
[TotalBuyFillTicks] 3008 = 566300
[TotalSellFillTicks] 3009 = 0
[TotalOpenTicks] 3010 = 709150
[TotalOpenVolume] 3011 = 5


FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

2 Pierce Pl, Suite 200, Itasca, IL 60143

© 2009-2023 Cunningham Trading Systems LLC All rights reserved.